home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 131 / XENIATGM131.iso / Shareware / openOffice.org 641 / Windows / f_0030 / CalendarMain.xba < prev    next >
Extensible Markup Language  |  2001-11-22  |  7KB  |  214 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
  3. <script:module xmlns:script="http://openoffice.org/2000/script" script:name="CalendarMain" script:language="StarBasic">Option Explicit
  4.  
  5. Const _DEBUG = 0
  6.  
  7. ' CalenderMain
  8. Public sCurLangLocale as String
  9. Public sCurCountryLocale as String
  10. ' Dieses Flag dient zur Abfrage ob die individuellen Daten abgespeichert werden sollen.
  11. Public bCalOwnDataChanged as Boolean
  12.  
  13. 'BankHolidayFunctions
  14. Public CalBankholidayName$ (1 To 374)
  15. Public CalTypeOfBankHoliday% (1 To 374)
  16.  
  17. Public Const cHolidayType_None = 0
  18. Public Const cHolidayType_Full = 1
  19. Public Const cHolidayType_Half = 2
  20. Public Const cHolidayType_Own = 4
  21.  
  22. Public cCalSubcmdDeleteSelect_DeleteSelEntry$
  23. Public cCalSubcmdDeleteSelect_DeleteSelEntryTitle$
  24. Public cCalSubcmdSwitchOwnDataOrGeneral_Back$
  25. Public cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
  26.  
  27. 'Language
  28. Public cCalLongMonthNames(11) as String
  29. Public cCalShortMonthNames(11) as String
  30.  
  31. Public sBitmapFilename$
  32. Public sCalendarTitle$, sMonthTitle$, sWizardTitle$, sError$
  33. Public cCalStyleWorkday$, cCalStyleWeekend$
  34.  
  35. ' German only
  36. ' Variablen, die zur Verwaltung der Eingabe der Bundesl├ñnder dienen
  37. Public CalChoosenLand as Integer
  38.  
  39. Public oDocument as Object
  40. Public oSheets as Object
  41. Public oSheet as Object
  42. Public oStatusLine as Object
  43. Public bCancelTask as Boolean
  44.  
  45. ' BL* bedeutet BundesLand*
  46. Public CONST CalBLBayern         = 1
  47. Public CONST CalBLBadenWuert     = 2
  48. Public CONST CalBLBerlin         = 3
  49. Public CONST CalBLBremen         = 4
  50. Public CONST CalBLBrandenburg    = 5
  51. Public CONST CalBLHamburg        = 6
  52. Public CONST CalBLHessen         = 7
  53. Public CONST CalBLMeckPomm       = 8
  54. Public CONST CalBLNiedersachsen  = 9
  55. Public CONST CalBLNordrheinWest  = 10
  56. Public CONST CalBLRheinlandPfalz = 11
  57. Public CONST CalBLSaarland       = 12
  58. Public CONST CalBLSachsen        = 13
  59. Public CONST CalBLSachsenAnhalt  = 14
  60. Public CONST CalBLSchlHolstein   = 15
  61. Public CONST CalBLThueringen     = 16
  62.  
  63. Public DlgCalendar as Object
  64. Public DlgCalModel as Object
  65.  
  66. Sub CalAutopilotTable()
  67. Dim BitmapDir as String
  68. Dim iThisMonth as Integer
  69. 'On Error Goto ErrorHandler
  70.     BasicLibraries.LoadLibrary("Tools")
  71.     bSelectByMouseMove = True
  72.     oDocument = ThisComponent
  73.     oStatusline = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator
  74.     ToggleWindow(False)
  75.     sCurLangLocale = oDocument.CharLocale.Language
  76.     sCurCountryLocale = oDocument.CharLocale.Country
  77.  
  78.     DlgCalendar = LoadDialog("Schedule", "DlgCalendar")
  79.     DlgCalModel = DlgCalendar.Model
  80.     LoadLanguage(sCurLangLocale)
  81.     CalInitGlobalVariablesDate()
  82.     BitmapDir = GetOfficeSubPath("Template","wizard/bitmap")
  83.     DlgCalModel.imgCountry.ImageURL = BitmapDir & sBitmapFilename
  84.     CalChoosenLand = -2
  85.     CurOwnMonth = -1
  86.     CalLoadOwnData()
  87. '    sCurLanguage = "ja"
  88.     With DlgCalModel
  89.         .cmdDelete.Enabled = False
  90.         .lstMonth.StringItemList() = cCalShortMonthNames()
  91.         Select Case sCurLangLocale
  92.             Case "ja"
  93.                 .DlgCalModel.lstOwnData.FontName = "HG Mincho Light J"
  94.             Case "zh"
  95.                 If oDocument.CharLocale.Country = "CN" Then
  96.                     .DlgCalModel.lstOwnData.FontName = "HG MSung Light SC"
  97.                 Else
  98.                     .DlgCalModel.lstOwnData.FontName = "HG MSung Light TC"
  99.                 End If
  100.             Case "ko"
  101.                 .DlgCalModel.lstOwnData.FontName = "HG MyeongJo Light K"
  102.         End Select
  103.         .lstOwnEventMonth.StringItemList() = cCalShortMonthNames()
  104.         .optYear.State = 1
  105.         .txtYear.Value = Year(Now())
  106.         .txtYear.Tag = .txtYear.Value
  107.         .Step = 1
  108.     End With
  109.     CalChooseCalendar()  ' month
  110.     iThisMonth = Month(Now)
  111.     DlgCalendar.GetControl("lstMonth").SelectItemPos(iThisMonth-1, True)
  112.     DlgCalendar.GetControl("lstHolidays").SelectItemPos(0,True)
  113.     DlgCalModel.cmdGoOn.DefaultButton = True
  114.     ToggleWindow(True)
  115.     DlgCalendar.Execute()
  116.     DlgCalendar.Dispose()
  117.     Exit Sub
  118. ErrorHandler:
  119.     MsgBox(sError$, 16, sWizardTitle$)
  120. End Sub
  121.  
  122.  
  123. Sub CalChooseCalendar()
  124.     With DlgCalModel
  125.         .lstMonth.Enabled = .optMonth.State = 1
  126.         .lblMonth.Enabled = .optMonth.State = 1
  127.     End With
  128. End Sub
  129.  
  130.  
  131. Sub CalcmdCancel()
  132.     Call CalSaveOwnData()
  133.     DlgCalendar.EndExecute 'Visible = False
  134. End Sub
  135.  
  136.  
  137.  
  138. Sub CalcmdOk()
  139.     ' cmdOk is called when the Button 'Read' is clicked on
  140.     ' It is either given out a month or a year
  141. Dim i, iSelYear as Integer
  142. Dim SelYear as String
  143. '    DlgCalendar.Visible = False
  144.  
  145.     oSheets = oDocument.sheets
  146.     Call CalSaveOwnData()
  147.     UnprotectSheets(oSheets)
  148.     oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
  149.     iSelYear = DlgCalModel.txtYear.Value
  150. '    sCurLangLocale = "ja"
  151. '    sCurCountryLocale = "TW"
  152.     Select Case sCurLangLocale
  153.         Case cLANGUAGE_GERMAN
  154.             If Ubound(DlgCalModel.lstHolidays.SelectedItems()) > -1 Then
  155.                 CalChoosenLand = DlgCalModel.lstHolidays.SelectedItems(0)
  156.             Else
  157.                 CalChoosenLand = 0
  158.             End If
  159.             Call CalFindWholeYearHolidays_GERMANY(iSelYear, CalChoosenLand)
  160.         Case cLANGUAGE_ENGLISH
  161.             Call FindWholeYearHolidays_US(iSelYear)
  162.         Case cLANGUAGE_FRENCH
  163.             Call FindWholeYearHolidays_FRANCE(iSelYear)
  164.         Case cLANGUAGE_ITALIAN
  165.             Call FindWholeYearHolidays_ITA(iSelYear)
  166.         Case cLANGUAGE_SPANISH
  167.             Call FindWholeYearHolidays_SPAIN(iSelYear)
  168.         Case cLANGUAGE_PORTUGUESE
  169.             Call FindWholeYearHolidays_PORT(iSelYear)
  170.         Case cLANGUAGE_DUTCH
  171.             Call FindWholeYearHolidays_NL(iSelYear)
  172.         Case cLANGUAGE_SWEDISH
  173.             Call FindWholeYearHolidays_SWED(iSelYear)
  174.         Case cLANGUAGE_DANISH
  175.             Call FindWholeYearHolidays_DK(iSelYear)
  176.         Case cLANGUAGE_POLISH
  177.             Call FindWholeYearHolidays_PL(iSelYear)
  178.         Case cLANGUAGE_RUSSIAN
  179.             Call FindWholeYearHolidays_RU(iSelYear)
  180.         Case cLANGUAGE_JAPANESE
  181.             Call FindWholeYearHolidays_JP(iSelYear)
  182.         Case cLANGUAGE_CHINESE
  183.             If sCurCountryLocale = "TW" Then
  184.                 Call FindWholeYearHolidays_TW(iSelYear)
  185.             Else
  186.  
  187.             End If
  188.     End Select
  189.  
  190.     Call CalInsertOwnDataInTables(iSelYear)
  191.  
  192.     If DlgCalModel.optYear.State = 1 Then
  193.         oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
  194.         oSheet = oSheets.GetbyIndex(0)
  195.         oSheet.Name = sCalendarTitle$ + " " + iSelYear
  196.         oDocument.AddActionLock
  197.         Call CalCreateYearTable(iSelYear)
  198.     ElseIf DlgCalModel.optMonth.State = 1 Then
  199.         Dim iMonth
  200.         iMonth = DlgCalModel.lstMonth.SelectedItems(0) + 1
  201.         oSheets.RemovebyName(oSheets.GetbyIndex(1).Name)
  202.         oSheet = oSheets.GetbyIndex(0)
  203.         oSheet.Name = sMonthTitle$ + " " + cCalLongMonthNames(iMonth-1)
  204.         oDocument.AddActionLock
  205.         Call CalCreateMonthTable(iSelYear, iMonth)
  206.     End If
  207.  
  208.     oDocument.RemoveActionLock
  209.     oSheet.protect("")
  210.     oStatusLine.End
  211.     DlgCalendar.EndExecute()
  212.     bCancelTask = True
  213. End Sub
  214. </script:module>